package dto

type StatisticsReq struct {
	TenantId  string `json:"tenant_id" comment:"租户id" validate:"required"`
	EventId   string `json:"event_id" comment:"活动id" validate:"required,max=35"`
	Account   string `json:"account" comment:"嘉宾账户" validate:"required,max=50"`
	SubjectId int    `json:"subject_id" comment:"题目id" validate:"required"`
}

type CurrentStatisticsReq struct {
	TenantId string `json:"tenant_id" comment:"租户id" validate:"required"`
	EventId  string `json:"event_id" comment:"活动id" validate:"required,max=35"`
	Account  string `json:"account" comment:"嘉宾账户" validate:"required,max=50"`
}

type StatisticsFilterReq struct {
	TenantId   string   `json:"tenant_id" comment:"租户id" validate:"required"`
	EventIds   []string `json:"event_ids" comment:"选择的活动id"`
	PaperIds   []int    `json:"paper_ids" comment:"选择的试卷id"`
	SubjectIds []int    `json:"subject_ids" comment:"选择的题目id"`
	Accounts   []string `json:"accounts" comment:"选择的用户"`
}

type StatisticsBySubjectReq struct {
	StatisticsFilterReq
	SubjectId int `json:"subject_id" comment:"题目id" validate:"required"`
}

type StatisticsByAccountReq struct {
	StatisticsFilterReq
	Account string `json:"account" comment:"用户"`
}

type VoteStatisticsReq struct {
	TenantId string `json:"tenant_id" comment:"租户id" validate:"required"`
	EventId  string `json:"event_id" comment:"活动id" validate:"required,max=35"`
	//PaperId  int    `json:"paper_id" comment:"选择的试卷id" validate:"required"`
}

type VoteStatisticsDetailReq struct {
	TenantId string `json:"tenant_id" comment:"租户id" validate:"required"`
	EventId  string `json:"event_id" comment:"活动id" validate:"required,max=35"`
	PaperId  int    `json:"paper_id" comment:"选择的试卷id" validate:"required"`
}

type QuestionStatisticsReq struct {
	TenantId string `json:"tenant_id" comment:"租户id" validate:"required"`
	EventId  string `json:"event_id" comment:"活动id" validate:"required,max=35"`
}

type QuestionStatisticsDetailReq struct {
	TenantId string `json:"tenant_id" comment:"租户id" validate:"required"`
	EventId  string `json:"event_id" comment:"活动id" validate:"required,max=35"`
	PaperId  int    `json:"paper_id" comment:"选择的试卷id" validate:"required"`
}

type SignInStatisticsReq struct {
	TenantId string `json:"tenant_id" comment:"租户id" validate:"required"`
	EventId  string `json:"event_id" comment:"活动id" validate:"required,max=35"`
}

type SignInStatisticsDetailReq struct {
	TenantId string `json:"tenant_id" comment:"租户id" validate:"required"`
	EventId  string `json:"event_id" comment:"活动id" validate:"required,max=35"`
	PaperId  int    `json:"paper_id" comment:"选择的试卷id" validate:"required"`
}

type LikesStatisticsReq struct {
	TenantId  string `json:"tenant_id" comment:"租户id"`
	EventId   string `json:"event_id" comment:"活动id"`
	PaperId   string `json:"paper_id" comment:"选择的试卷id(活动)"`
	StartTime int64  `json:"start_time" comment:"开始时间" validate:"required,gt=0"`
	EndTime   int64  `json:"end_time" comment:"开始时间" validate:"required,gt=0"`
}

type LikesStatisticsDetailReq struct {
	TenantId  string `json:"tenant_id" comment:"租户id" validate:"required"`
	EventId   string `json:"event_id" comment:"活动id" validate:"required"`
	StartTime int64  `json:"start_time" comment:"开始时间" validate:"required,gt=0"`
	EndTime   int64  `json:"end_time" comment:"开始时间" validate:"required,gt=0"`
}
